home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 1.3 KB | 42 lines |
- 100 '************************************************
- 110 '** Memory Dump Routine for the I.B.M. P.C. **
- 120 '** **
- 130 '** Version 1.1 27 November 1982 **
- 140 '************************************************
- 150 '
- 160 CLEAR : DEFINT A-Z
- 170 SCREEN 0 : WIDTH 80 : CLS : KEY OFF
- 180 INPUT "Enter segment pointer address - " , A
- 190 INPUT "Enter first memory address - " , B
- 200 LINECOUNT = 0
- 210 DEF SEG = A
- 220 LOCATE 24,1
- 230 ON LEN(HEX$(A)) GOTO 240,250,260,270
- 240 PRINT "000";HEX$(A);:GOTO 280
- 250 PRINT "00";HEX$(A);:GOTO 280
- 260 PRINT "0";HEX$(A);:GOTO 280
- 270 PRINT HEX$(A);:GOTO 280
- 280 PRINT CHR$(58);
- 290 ON LEN(HEX$(B)) GOTO 300,310,320,330
- 300 PRINT "000";HEX$(B);:GOTO 340
- 310 PRINT "00";HEX$(B);:GOTO 340
- 320 PRINT "0";HEX$(B);:GOTO 340
- 330 PRINT HEX$(B);
- 340 LOCATE 24,12
- 350 FOR X = B TO B+7
- 360 IF(PEEK(X)<16)THEN PRINT"0";HEX$(PEEK(X));" ";ELSE PRINT HEX$(PEEK(X));" ";
- 370 NEXT
- 380 PRINT "- ";
- 390 FOR X = B+8 TO B+15
- 400 IF(PEEK(X)<16)THEN PRINT"0";HEX$(PEEK(X));" ";ELSE PRINT HEX$(PEEK(X));" ";
- 410 NEXT
- 420 LOCATE 24,64
- 430 FOR X = B TO B+15
- 440 IF (PEEK(X)>31) AND (PEEK(X)<128) THEN PRINT CHR$(PEEK(X)); ELSE PRINT ".";
- 450 NEXT
- 460 PRINT
- 470 Z$ =INKEY$ : IF Z$ <> "" THEN 180
- 480 LINECOUNT = LINECOUNT + 1 : IF LINECOUNT = 16 THEN PRINT : LINECOUNT = 0
- 500 B=B+&H10 :IF (B<16) AND (B>-1) THEN A = A + &H1000 : GOTO 210
- 510 GOTO 220
-